/**
 *
 */
import OpenApi;
import OpenApi.OpenApiUtil;

extends OpenApi;


init(config: OpenApiUtil.Config){
  super(config);
  @signatureAlgorithm = 'v2';
  @endpointRule = 'regional';
  @endpointMap = {
    'cn-qingdao' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-beijing' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-zhangjiakou' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-huhehaote' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-wulanchabu' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-hangzhou' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-shanghai' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-nanjing' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-fuzhou' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-shenzhen' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-heyuan' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-guangzhou' = 'tds.cn-shanghai.aliyuncs.com',
    'ap-southeast-2' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-southeast-6' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-northeast-2' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-southeast-3' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-northeast-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-southeast-7' = 'tds.ap-southeast-1.aliyuncs.com',
    'cn-chengdu' = 'tds.cn-shanghai.aliyuncs.com',
    'ap-southeast-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-southeast-5' = 'tds.ap-southeast-1.aliyuncs.com',
    'cn-hongkong' = 'tds.cn-shanghai.aliyuncs.com',
    'eu-central-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'us-east-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'us-west-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'eu-west-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'me-east-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'me-central-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'ap-south-1' = 'tds.ap-southeast-1.aliyuncs.com',
    'cn-beijing-finance-1' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-hangzhou-finance' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-shanghai-finance-1' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-shenzhen-finance-1' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-heyuan-acdr-1' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-north-2-gov-1' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-qingdao-acdr-ut-1' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-shanghai-mybk' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-wuhan-lr' = 'tds.cn-shanghai.aliyuncs.com',
    'cn-zhengzhou-jva' = 'tds.cn-shanghai.aliyuncs.com',
  };

  checkConfig(config);
  @endpoint = getEndpoint('sas', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint);
}

function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{
  if (!$isNull(endpoint)) {
    return endpoint;
  }
  
  if (!$isNull(endpointMap) && !$isNull(endpointMap[regionId])) {
    return endpointMap[regionId];
  }
  return OpenApiUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
}

model CreateScreenSettingRequest {
  id?: int32(name='Id', example='123'),
  logoPower?: boolean(name='LogoPower', description='This parameter is required.', example='false'),
  logoUrl?: string(name='LogoUrl', description='This parameter is required.', example='https://img.alicdn.com/tfs/xxxx.png'),
  monitorUrl?: string(name='MonitorUrl', example='https://monitor.xxxxxxx'),
  screenDataMap?: string(name='ScreenDataMap', description='This parameter is required.', example='[{"positionId":1,"componentId":3,"date":"7-day"},{"positionId":2,"componentId":1,"date":"0-second"},{"positionId":3,"componentId":8,"date":"15-day"},{"positionId":4,"componentId":11,"date":"15-day"},{"positionId":5,"componentId":23,"date":"24-hour"},{"positionId":6,"componentId":17,"date":"24-hour"},{"positionId":7,"componentId":13,"date":"24-hour"},{"positionId":8,"componentId":25,"date":"0-second"}]'),
  screenDefault?: int32(name='ScreenDefault', example='0'),
  title?: string(name='Title', description='This parameter is required.', example='test'),
}

model CreateScreenSettingResponseBody = {
  id?: int32(name='Id', example='123'),
  requestId?: string(name='RequestId', example='898F7AA7-CECD-5EC7-AF4D-664C601B****'),
}

model CreateScreenSettingResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: CreateScreenSettingResponseBody(name='body'),
}

/**
 * @summary 新增或者修改用户大屏设置
 *
 * @param request CreateScreenSettingRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return CreateScreenSettingResponse
 */
async function createScreenSettingWithOptions(request: CreateScreenSettingRequest, runtime: $RuntimeOptions): CreateScreenSettingResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.id)) {
    query['Id'] = request.id;
  }
  if (!$isNull(request.logoPower)) {
    query['LogoPower'] = request.logoPower;
  }
  if (!$isNull(request.logoUrl)) {
    query['LogoUrl'] = request.logoUrl;
  }
  if (!$isNull(request.monitorUrl)) {
    query['MonitorUrl'] = request.monitorUrl;
  }
  if (!$isNull(request.screenDataMap)) {
    query['ScreenDataMap'] = request.screenDataMap;
  }
  if (!$isNull(request.screenDefault)) {
    query['ScreenDefault'] = request.screenDefault;
  }
  if (!$isNull(request.title)) {
    query['Title'] = request.title;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'CreateScreenSetting',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 新增或者修改用户大屏设置
 *
 * @param request CreateScreenSettingRequest
 * @return CreateScreenSettingResponse
 */
async function createScreenSetting(request: CreateScreenSettingRequest): CreateScreenSettingResponse {
  var runtime = new $RuntimeOptions{};
  return createScreenSettingWithOptions(request, runtime);
}

model DeleteScreenSettingRequest {
  id?: long(name='Id', description='This parameter is required.', example='123'),
}

model DeleteScreenSettingResponseBody = {
  requestId?: string(name='RequestId', example='CE500770-42D3-442E-9DDD-156E0F9F****'),
}

model DeleteScreenSettingResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DeleteScreenSettingResponseBody(name='body'),
}

/**
 * @summary 删除大屏设置
 *
 * @param request DeleteScreenSettingRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DeleteScreenSettingResponse
 */
async function deleteScreenSettingWithOptions(request: DeleteScreenSettingRequest, runtime: $RuntimeOptions): DeleteScreenSettingResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.id)) {
    query['Id'] = request.id;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DeleteScreenSetting',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 删除大屏设置
 *
 * @param request DeleteScreenSettingRequest
 * @return DeleteScreenSettingResponse
 */
async function deleteScreenSetting(request: DeleteScreenSettingRequest): DeleteScreenSettingResponse {
  var runtime = new $RuntimeOptions{};
  return deleteScreenSettingWithOptions(request, runtime);
}

model DescribeScreenAlarmEventListRequest {
  alarmEventName?: string(name='AlarmEventName'),
  alarmEventType?: string(name='AlarmEventType'),
  currentPage?: int32(name='CurrentPage', description='This parameter is required.', example='1'),
  dealed?: string(name='Dealed', example='Y'),
  from?: string(name='From', description='This parameter is required.', example='sas'),
  lang?: string(name='Lang', example='zh'),
  levels?: string(name='Levels', example='serious'),
  pageSize?: string(name='PageSize', description='This parameter is required.', example='20'),
  remark?: string(name='Remark', example='222.185.XX.XX'),
  timeEnd?: string(name='TimeEnd', example='1683862286000'),
  timeStart?: string(name='TimeStart', example='1687104000000'),
}

model DescribeScreenAlarmEventListResponseBody = {
  pageInfo?: {
    count?: int32(name='Count', example='2'),
    currentPage?: int32(name='CurrentPage', example='1'),
    pageSize?: int32(name='PageSize', example='20'),
    totalCount?: int32(name='TotalCount', example='100'),
  }(name='PageInfo'),
  requestId?: string(name='RequestId', example='09969D2C-4FAD-429E-BFBF-9A60DEF8BF6F'),
  suspEvents?: [ 
    {
      alarmEventName?: string(name='AlarmEventName'),
      alarmEventType?: string(name='AlarmEventType'),
      alarmUniqueInfo?: string(name='AlarmUniqueInfo', example='8df914418f4211fbf756efe7a6f4****'),
      canBeDealOnLine?: boolean(name='CanBeDealOnLine', example='true'),
      canCancelFault?: boolean(name='CanCancelFault', example='false'),
      dataSource?: string(name='DataSource', example='sas'),
      dealed?: boolean(name='Dealed', example='false'),
      description?: string(name='Description', example='{\\\\"Type\\\\": \\\\"text\\\\", \\\\"Value\\\\": u\\\\"\\\\u5efa\\\\u8bae\\\\u8fdb\\\\u884c\\\\u79c1\\\\u7f51\\\\u767d\\\\u540d\\\\u5355\\\\u914d\\\\u7f6e\\\\uff0c\\\\u786e\\\\u4fdd\\\\u8bbf\\\\u95ee\\\\u5b89\\\\u5168\\\\u3002\\\\"}'),
      endTime?: long(name='EndTime', example='1543740301000'),
      instanceName?: string(name='InstanceName', example='fzerp-dev'),
      internetIp?: string(name='InternetIp', example='123.21.XX.XX'),
      intranetIp?: string(name='IntranetIp', example='100.100.XX.XX'),
      level?: string(name='Level', example='serious'),
      saleVersion?: string(name='SaleVersion', example='1'),
      solution?: string(name='Solution', example='{\\\\"Type\\\\": \\\\"text\\\\", \\\\"Value\\\\": \\\\"Enter NAS console - monitoring and auditing - log analysis - log management - new log dump to create a log recording service for the file system.\\\\"}'),
      startTime?: long(name='StartTime', example='1543740301000'),
      suspiciousEventCount?: int32(name='SuspiciousEventCount', example='1'),
      uuid?: string(name='Uuid', example='bf6b30d3-eea8-4924-9f0a-****'),
    }
  ](name='SuspEvents'),
}

model DescribeScreenAlarmEventListResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenAlarmEventListResponseBody(name='body'),
}

/**
 * @summary 查询安全大屏告警事件
 *
 * @param request DescribeScreenAlarmEventListRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenAlarmEventListResponse
 */
async function describeScreenAlarmEventListWithOptions(request: DescribeScreenAlarmEventListRequest, runtime: $RuntimeOptions): DescribeScreenAlarmEventListResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.alarmEventName)) {
    query['AlarmEventName'] = request.alarmEventName;
  }
  if (!$isNull(request.alarmEventType)) {
    query['AlarmEventType'] = request.alarmEventType;
  }
  if (!$isNull(request.currentPage)) {
    query['CurrentPage'] = request.currentPage;
  }
  if (!$isNull(request.dealed)) {
    query['Dealed'] = request.dealed;
  }
  if (!$isNull(request.from)) {
    query['From'] = request.from;
  }
  if (!$isNull(request.lang)) {
    query['Lang'] = request.lang;
  }
  if (!$isNull(request.levels)) {
    query['Levels'] = request.levels;
  }
  if (!$isNull(request.pageSize)) {
    query['PageSize'] = request.pageSize;
  }
  if (!$isNull(request.remark)) {
    query['Remark'] = request.remark;
  }
  if (!$isNull(request.timeEnd)) {
    query['TimeEnd'] = request.timeEnd;
  }
  if (!$isNull(request.timeStart)) {
    query['TimeStart'] = request.timeStart;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenAlarmEventList',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询安全大屏告警事件
 *
 * @param request DescribeScreenAlarmEventListRequest
 * @return DescribeScreenAlarmEventListResponse
 */
async function describeScreenAlarmEventList(request: DescribeScreenAlarmEventListRequest): DescribeScreenAlarmEventListResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenAlarmEventListWithOptions(request, runtime);
}

model DescribeScreenAttackAnalysisDataRequest {
  base64?: string(name='Base64', example='true'),
  currentPage?: int32(name='CurrentPage', example='1'),
  data?: string(name='Data', example='{"crack_type":"9"}'),
  endTime?: long(name='EndTime', description='This parameter is required.', example='1668064495000'),
  pageSize?: int32(name='PageSize', example='20'),
  startTime?: long(name='StartTime', description='This parameter is required.', example='1644027670'),
  type?: string(name='Type', description='This parameter is required.', example='DETAILS'),
}

model DescribeScreenAttackAnalysisDataResponseBody = {
  data?: string(name='Data', example='[{\\\\"crack_hour\\\\":1662480000000,\\\\"crack_cnt\\\\":471},{\\\\"crack_hour\\\\":1662483600000,\\\\"crack_cnt\\\\":461},{\\\\"crack_hour\\\\":1662487200000,\\\\"crack_cnt\\\\":445},{\\\\"crack_hour\\\\":1662490800000,\\\\"crack_cnt\\\\":471},{\\\\"crack_hour\\\\":1662494400000,\\\\"crack_cnt\\\\":534},{\\\\"crack_hour\\\\":1662498000000,\\\\"crack_cnt\\\\":652},{\\\\"crack_hour\\\\":1662501600000,\\\\"crack_cnt\\\\":706},{\\\\"crack_hour\\\\":1662505200000,\\\\"crack_cnt\\\\":613},{\\\\"crack_hour\\\\":1662508800000,\\\\"crack_cnt\\\\":578},{\\\\"crack_hour\\\\":1662512400000,\\\\"crack_cnt\\\\":577},{\\\\"crack_hour\\\\":1662516000000,\\\\"crack_cnt\\\\":616},{\\\\"crack_hour\\\\":1662519600000,\\\\"crack_cnt\\\\":597},{\\\\"crack_hour\\\\":1662523200000,\\\\"crack_cnt\\\\":575},{\\\\"crack_hour\\\\":1662526800000,\\\\"crack_cnt\\\\":507}]'),
  page?: int32(name='Page', example='1'),
  pageSize?: int32(name='PageSize', example='10'),
  requestId?: string(name='RequestId', example='7532B7EE-7CE7-5F4D-BF04-Bxxxxxxxx'),
  total?: int32(name='Total', example='11'),
}

model DescribeScreenAttackAnalysisDataResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenAttackAnalysisDataResponseBody(name='body'),
}

/**
 * @summary 查询大屏攻击防御事件
 *
 * @param request DescribeScreenAttackAnalysisDataRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenAttackAnalysisDataResponse
 */
async function describeScreenAttackAnalysisDataWithOptions(request: DescribeScreenAttackAnalysisDataRequest, runtime: $RuntimeOptions): DescribeScreenAttackAnalysisDataResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.base64)) {
    query['Base64'] = request.base64;
  }
  if (!$isNull(request.currentPage)) {
    query['CurrentPage'] = request.currentPage;
  }
  if (!$isNull(request.data)) {
    query['Data'] = request.data;
  }
  if (!$isNull(request.endTime)) {
    query['EndTime'] = request.endTime;
  }
  if (!$isNull(request.pageSize)) {
    query['PageSize'] = request.pageSize;
  }
  if (!$isNull(request.startTime)) {
    query['StartTime'] = request.startTime;
  }
  if (!$isNull(request.type)) {
    query['Type'] = request.type;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenAttackAnalysisData',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询大屏攻击防御事件
 *
 * @param request DescribeScreenAttackAnalysisDataRequest
 * @return DescribeScreenAttackAnalysisDataResponse
 */
async function describeScreenAttackAnalysisData(request: DescribeScreenAttackAnalysisDataRequest): DescribeScreenAttackAnalysisDataResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenAttackAnalysisDataWithOptions(request, runtime);
}

model DescribeScreenCloudHcRiskResponseBody = {
  cloudHcRiskItems?: [ 
    {
      affectCount?: int32(name='AffectCount', example='5'),
      checkItem?: string(name='CheckItem', example='OSS-PublicReadOpenManifestFileWithoutEncryption'),
      level?: string(name='Level', example='HIGH'),
      pass?: boolean(name='Pass'),
    }
  ](name='CloudHcRiskItems'),
  requestId?: string(name='RequestId', example='0C8487EF-50C2-54BB-8634-10F8C35D****'),
}

model DescribeScreenCloudHcRiskResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenCloudHcRiskResponseBody(name='body'),
}

/**
 * @summary 查询云产品基线问题
 *
 * @param request DescribeScreenCloudHcRiskRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenCloudHcRiskResponse
 */
async function describeScreenCloudHcRiskWithOptions(runtime: $RuntimeOptions): DescribeScreenCloudHcRiskResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenCloudHcRisk',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询云产品基线问题
 *
 * @return DescribeScreenCloudHcRiskResponse
 */
async function describeScreenCloudHcRisk(): DescribeScreenCloudHcRiskResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenCloudHcRiskWithOptions(runtime);
}

model DescribeScreenDataMapResponseBody = {
  requestId?: string(name='RequestId', example='7532B7EE-7CE7-5F4D-BF04-XXXXXXXX'),
  sasScreenTypeList?: [ 
    {
      type?: string(name='Type'),
      typeCode?: string(name='TypeCode', example='ASSETS'),
      typeData?: [ 
        {
          code?: string(name='Code', example='VUL_VUL'),
          date?: [ 
            {
              unit?: string(name='Unit', example='second'),
              value?: string(name='Value', example='1'),
            }
          ](name='Date'),
          id?: string(name='Id', example='25'),
          title?: string(name='Title'),
        }
      ](name='TypeData'),
    }
  ](name='SasScreenTypeList'),
}

model DescribeScreenDataMapResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenDataMapResponseBody(name='body'),
}

/**
 * @summary 获取大屏可展示数据列表
 *
 * @param request DescribeScreenDataMapRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenDataMapResponse
 */
async function describeScreenDataMapWithOptions(runtime: $RuntimeOptions): DescribeScreenDataMapResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenDataMap',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 获取大屏可展示数据列表
 *
 * @return DescribeScreenDataMapResponse
 */
async function describeScreenDataMap(): DescribeScreenDataMapResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenDataMapWithOptions(runtime);
}

model DescribeScreenEmerRiskResponseBody = {
  cloudHcRiskItems?: [ 
    {
      affectCount?: int32(name='AffectCount', example='3'),
      level?: string(name='Level', example='ASAP'),
      vulName?: string(name='VulName'),
    }
  ](name='CloudHcRiskItems'),
  requestId?: string(name='RequestId', example='23AD0BD2-8771-5647-819E-6xxxxxxxx'),
}

model DescribeScreenEmerRiskResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenEmerRiskResponseBody(name='body'),
}

/**
 * @summary 查询云产品漏洞风险
 *
 * @param request DescribeScreenEmerRiskRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenEmerRiskResponse
 */
async function describeScreenEmerRiskWithOptions(runtime: $RuntimeOptions): DescribeScreenEmerRiskResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenEmerRisk',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询云产品漏洞风险
 *
 * @return DescribeScreenEmerRiskResponse
 */
async function describeScreenEmerRisk(): DescribeScreenEmerRiskResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenEmerRiskWithOptions(runtime);
}

model DescribeScreenHostStatisticsResponseBody = {
  data?: {
    safeCount?: [ string ](name='SafeCount'),
    suspEventMachineNames?: [ string ](name='SuspEventMachineNames'),
    suspEventUuids?: [ string ](name='SuspEventUuids'),
    weaknessMachineNames?: [ string ](name='WeaknessMachineNames'),
    weaknessUuids?: [ string ](name='WeaknessUuids'),
  }(name='Data'),
  requestId?: string(name='RequestId', example='D65AADFC-1D20-5A6A-8F6A-9FA53C0DC1F8'),
}

model DescribeScreenHostStatisticsResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenHostStatisticsResponseBody(name='body'),
}

/**
 * @summary 查询大屏主机统计数据
 *
 * @param request DescribeScreenHostStatisticsRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenHostStatisticsResponse
 */
async function describeScreenHostStatisticsWithOptions(runtime: $RuntimeOptions): DescribeScreenHostStatisticsResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenHostStatistics',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询大屏主机统计数据
 *
 * @return DescribeScreenHostStatisticsResponse
 */
async function describeScreenHostStatistics(): DescribeScreenHostStatisticsResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenHostStatisticsWithOptions(runtime);
}

model DescribeScreenOperateInfoRequest {
  lang?: string(name='Lang', example='zh'),
  startTime?: long(name='StartTime', description='This parameter is required.', example='1634725571000'),
}

model DescribeScreenOperateInfoResponseBody = {
  dateArray?: [ string ](name='DateArray'),
  healthCheckDealedCount?: int32(name='HealthCheckDealedCount', example='1'),
  healthCheckValueArray?: [ string ](name='HealthCheckValueArray'),
  requestId?: string(name='RequestId', example='23AD0BD2-8771-5647-819E-6xxxxxxxx'),
  securityEventDealedCount?: int32(name='SecurityEventDealedCount', example='1'),
  suspEventValueArray?: [ string ](name='SuspEventValueArray'),
  vulValueArray?: [ string ](name='VulValueArray'),
  vulnerabilityDealedCount?: int32(name='VulnerabilityDealedCount', example='1'),
}

model DescribeScreenOperateInfoResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenOperateInfoResponseBody(name='body'),
}

/**
 * @summary 查看运营信息
 *
 * @param request DescribeScreenOperateInfoRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenOperateInfoResponse
 */
async function describeScreenOperateInfoWithOptions(request: DescribeScreenOperateInfoRequest, runtime: $RuntimeOptions): DescribeScreenOperateInfoResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.lang)) {
    query['Lang'] = request.lang;
  }
  if (!$isNull(request.startTime)) {
    query['StartTime'] = request.startTime;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenOperateInfo',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查看运营信息
 *
 * @param request DescribeScreenOperateInfoRequest
 * @return DescribeScreenOperateInfoResponse
 */
async function describeScreenOperateInfo(request: DescribeScreenOperateInfoRequest): DescribeScreenOperateInfoResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenOperateInfoWithOptions(request, runtime);
}

model DescribeScreenOssUploadInfoResponseBody = {
  accessId?: string(name='AccessId', example='LTAI5txxxxxxx'),
  expire?: int32(name='Expire', example='1719919893'),
  host?: string(name='Host', example='https://oss-cipxxxxxxxxxliyuncs.com'),
  key?: string(name='Key', example='DegradePool_Offset_****'),
  policy?: string(name='Policy', example='eyJleHBpcmF0aW9uIjoiMjAyNC0wOC0xNVQwOToxMTo1My40MDVaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCJzY3JlZW5Mb2dvXC8xNzY2MTg1ODkxxxx'),
  requestId?: string(name='RequestId', example='30CBF632-109F-596F-97F2-451C8B2A****'),
  securityToken?: string(name='SecurityToken'),
  signature?: string(name='Signature', example='wBiwkhd5LGcLzijtc3FhI****'),
}

model DescribeScreenOssUploadInfoResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenOssUploadInfoResponseBody(name='body'),
}

/**
 * @summary 查询大屏上传信息
 *
 * @param request DescribeScreenOssUploadInfoRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenOssUploadInfoResponse
 */
async function describeScreenOssUploadInfoWithOptions(runtime: $RuntimeOptions): DescribeScreenOssUploadInfoResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenOssUploadInfo',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询大屏上传信息
 *
 * @return DescribeScreenOssUploadInfoResponse
 */
async function describeScreenOssUploadInfo(): DescribeScreenOssUploadInfoResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenOssUploadInfoWithOptions(runtime);
}

model DescribeScreenScoreThreadRequest {
  endTime?: long(name='EndTime', description='This parameter is required.', example='1723445464501'),
  startTime?: long(name='StartTime', description='This parameter is required.', example='1722840664501'),
}

model DescribeScreenScoreThreadResponseBody = {
  data?: {
    socreThread?: [ string ](name='SocreThread'),
    socreThreadDate?: [ string ](name='SocreThreadDate'),
  }(name='Data'),
  requestId?: string(name='RequestId', example='D03DD0FD-6041-5107-AC00-383E28F1****'),
}

model DescribeScreenScoreThreadResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenScoreThreadResponseBody(name='body'),
}

/**
 * @summary 查询安全大屏分数趋势
 *
 * @param request DescribeScreenScoreThreadRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenScoreThreadResponse
 */
async function describeScreenScoreThreadWithOptions(request: DescribeScreenScoreThreadRequest, runtime: $RuntimeOptions): DescribeScreenScoreThreadResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.endTime)) {
    query['EndTime'] = request.endTime;
  }
  if (!$isNull(request.startTime)) {
    query['StartTime'] = request.startTime;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenScoreThread',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询安全大屏分数趋势
 *
 * @param request DescribeScreenScoreThreadRequest
 * @return DescribeScreenScoreThreadResponse
 */
async function describeScreenScoreThread(request: DescribeScreenScoreThreadRequest): DescribeScreenScoreThreadResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenScoreThreadWithOptions(request, runtime);
}

model DescribeScreenSecurityStatInfoResponseBody = {
  attackEvent?: {
    dateArray?: [ string ](name='DateArray'),
    totalCount?: int32(name='TotalCount', example='1096'),
    valueArray?: [ string ](name='ValueArray'),
  }(name='AttackEvent'),
  healthCheck?: {
    dateArray?: [ string ](name='DateArray'),
    highCount?: int32(name='HighCount', example='10'),
    highList?: [ string ](name='HighList'),
    levelsOn?: [ string ](name='LevelsOn'),
    lowCount?: int32(name='LowCount', example='0'),
    lowList?: [ string ](name='LowList'),
    mediumCount?: int32(name='MediumCount', example='21'),
    mediumList?: [ string ](name='MediumList'),
    totalCount?: int32(name='TotalCount', example='32'),
    valueArray?: [ string ](name='ValueArray'),
  }(name='HealthCheck'),
  requestId?: string(name='RequestId', example='F8B6F758-BCD4-597A-8A2C-DA5A552C****'),
  securityEvent?: {
    dateArray?: [ string ](name='DateArray'),
    levelsOn?: [ string ](name='LevelsOn'),
    remindCount?: int32(name='RemindCount', example='0'),
    remindList?: [ string ](name='RemindList'),
    seriousCount?: int32(name='SeriousCount', example='2'),
    seriousList?: [ string ](name='SeriousList'),
    suspiciousCount?: int32(name='SuspiciousCount', example='10'),
    suspiciousList?: [ string ](name='SuspiciousList'),
    totalCount?: int32(name='TotalCount', example='8'),
    valueArray?: [ string ](name='ValueArray'),
  }(name='SecurityEvent'),
  vulnerability?: {
    asapCount?: int32(name='AsapCount', example='109'),
    asapList?: [ string ](name='AsapList'),
    dateArray?: [ string ](name='DateArray'),
    laterCount?: int32(name='LaterCount', example='275'),
    laterList?: [ string ](name='LaterList'),
    levelsOn?: [ string ](name='LevelsOn'),
    nntfCount?: int32(name='NntfCount', example='0'),
    nntfList?: [ string ](name='NntfList'),
    totalCount?: int32(name='TotalCount', example='384'),
    valueArray?: [ string ](name='ValueArray'),
  }(name='Vulnerability'),
}

model DescribeScreenSecurityStatInfoResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenSecurityStatInfoResponseBody(name='body'),
}

/**
 * @summary 查询已处理的风险
 *
 * @param request DescribeScreenSecurityStatInfoRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenSecurityStatInfoResponse
 */
async function describeScreenSecurityStatInfoWithOptions(runtime: $RuntimeOptions): DescribeScreenSecurityStatInfoResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenSecurityStatInfo',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询已处理的风险
 *
 * @return DescribeScreenSecurityStatInfoResponse
 */
async function describeScreenSecurityStatInfo(): DescribeScreenSecurityStatInfoResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenSecurityStatInfoWithOptions(runtime);
}

model DescribeScreenSettingRequest {
  id?: string(name='Id', example='101786'),
}

model DescribeScreenSettingResponseBody = {
  logoPower?: boolean(name='LogoPower', example='false'),
  logoUrl?: string(name='LogoUrl', example='https://img.alicdn.XXXXXXXXXXX.jpg'),
  monitorUrl?: string(name='MonitorUrl', example='https://XXX.monitor.XXXXcom'),
  requestId?: string(name='RequestId', example='B9A68671-BD84-55CD-807A-XXXXXXXXX'),
  screenDataMap?: string(name='ScreenDataMap', example='[{\\\\"positionId\\\\":XX,\\\\"componentId\\\\":XX,\\\\"date\\\\":\\\\"XXX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":X,\\\\"date\\\\":\\\\"XXX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":X,\\\\"date\\\\":\\\\"XX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":XX,\\\\"date\\\\":\\\\"XXX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":XX,\\\\"date\\\\":\\\\"XX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":XX,\\\\"date\\\\":\\\\"XX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":XX,\\\\"date\\\\":\\\\"XXX\\\\"},{\\\\"positionId\\\\":X,\\\\"componentId\\\\":,\\\\"date\\\\":\\\\"XXXX\\\\"}]'),
  screenDefault?: int32(name='ScreenDefault', example='7849'),
  screenId?: int32(name='ScreenId', example='1004770'),
  title?: string(name='Title', example='Daily Report'),
}

model DescribeScreenSettingResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenSettingResponseBody(name='body'),
}

/**
 * @summary 查询大屏配置
 *
 * @param request DescribeScreenSettingRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenSettingResponse
 */
async function describeScreenSettingWithOptions(request: DescribeScreenSettingRequest, runtime: $RuntimeOptions): DescribeScreenSettingResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.id)) {
    query['Id'] = request.id;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenSetting',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询大屏配置
 *
 * @param request DescribeScreenSettingRequest
 * @return DescribeScreenSettingResponse
 */
async function describeScreenSetting(request: DescribeScreenSettingRequest): DescribeScreenSettingResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenSettingWithOptions(request, runtime);
}

model DescribeScreenSummaryInfoResponseBody = {
  aegisClientOfflineCount?: int32(name='AegisClientOfflineCount', example='12'),
  aegisClientOnlineCount?: int32(name='AegisClientOnlineCount', example='127'),
  requestId?: string(name='RequestId', example='23AD0BD2-8771-5647-819E-XXXXXXXX'),
  securityScore?: int32(name='SecurityScore', example='100'),
}

model DescribeScreenSummaryInfoResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenSummaryInfoResponseBody(name='body'),
}

/**
 * @summary 查询大屏统计信息
 *
 * @param request DescribeScreenSummaryInfoRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenSummaryInfoResponse
 */
async function describeScreenSummaryInfoWithOptions(runtime: $RuntimeOptions): DescribeScreenSummaryInfoResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenSummaryInfo',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询大屏统计信息
 *
 * @return DescribeScreenSummaryInfoResponse
 */
async function describeScreenSummaryInfo(): DescribeScreenSummaryInfoResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenSummaryInfoWithOptions(runtime);
}

model DescribeScreenTitlesResponseBody = {
  requestId?: string(name='RequestId', example='09969D2C-4FAD-429E-BFBF-XXXXXXXXXXX'),
  sasScreenSettingList?: [ 
    {
      screenID?: long(name='ScreenID', example='3267'),
      screenTitle?: string(name='ScreenTitle', example='titlexxx'),
    }
  ](name='SasScreenSettingList'),
}

model DescribeScreenTitlesResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenTitlesResponseBody(name='body'),
}

/**
 * @summary 获取大屏幕设置全部列表
 *
 * @param request DescribeScreenTitlesRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenTitlesResponse
 */
async function describeScreenTitlesWithOptions(runtime: $RuntimeOptions): DescribeScreenTitlesResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenTitles',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 获取大屏幕设置全部列表
 *
 * @return DescribeScreenTitlesResponse
 */
async function describeScreenTitles(): DescribeScreenTitlesResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenTitlesWithOptions(runtime);
}

model DescribeScreenUploadPictureRequest {
  logoUrl?: string(name='LogoUrl', description='This parameter is required.', example='https://security-pic.oss-cn-hangzhou.aliyuncs.com/screenLogo/1766185894104675/c28bd4d2-c5c1-43f8-9ef5-de41d762xxxx'),
}

model DescribeScreenUploadPictureResponseBody = {
  requestId?: string(name='RequestId', example='D65AADFC-1D20-5A6A-8F6A-9FA53C0Dxxxx'),
  url?: string(name='Url', example='http://security-pic.oss-cn-hangzhou.aliyuncs.com/screenLogo/1766185894104675/c28bd4d2-c5c1-43f8-9ef5-de41d76218eb?Expires=1723720214&OSSAccessKeyId=LTAI4G1mgPbjvGQuiV1Xxxxx&Signature=4o3xxxx'),
}

model DescribeScreenUploadPictureResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenUploadPictureResponseBody(name='body'),
}

/**
 * @summary 查询上传之后的图片显示地址
 *
 * @param request DescribeScreenUploadPictureRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenUploadPictureResponse
 */
async function describeScreenUploadPictureWithOptions(request: DescribeScreenUploadPictureRequest, runtime: $RuntimeOptions): DescribeScreenUploadPictureResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.logoUrl)) {
    query['LogoUrl'] = request.logoUrl;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenUploadPicture',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询上传之后的图片显示地址
 *
 * @param request DescribeScreenUploadPictureRequest
 * @return DescribeScreenUploadPictureResponse
 */
async function describeScreenUploadPicture(request: DescribeScreenUploadPictureRequest): DescribeScreenUploadPictureResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenUploadPictureWithOptions(request, runtime);
}

model DescribeScreenVersionConfigResponseBody = {
  assetLevel?: int32(name='AssetLevel', example='30'),
  instanceId?: string(name='InstanceId', example='sas-b5***'),
  isTrialVersion?: int32(name='IsTrialVersion', example='0'),
  releaseTime?: long(name='ReleaseTime', example='1625846400000'),
  requestId?: string(name='RequestId', example='CE500770-42D3-442E-9DDD-1XXXXXXX'),
  sasLog?: int32(name='SasLog', example='1'),
  sasScreen?: int32(name='SasScreen', example='0'),
  version?: int32(name='Version', example='3'),
}

model DescribeScreenVersionConfigResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: DescribeScreenVersionConfigResponseBody(name='body'),
}

/**
 * @summary 查询安全大屏版本配置
 *
 * @param request DescribeScreenVersionConfigRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return DescribeScreenVersionConfigResponse
 */
async function describeScreenVersionConfigWithOptions(runtime: $RuntimeOptions): DescribeScreenVersionConfigResponse {
  var req = new OpenApiUtil.OpenApiRequest{};
  var params = new OpenApiUtil.Params{
    action = 'DescribeScreenVersionConfig',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 查询安全大屏版本配置
 *
 * @return DescribeScreenVersionConfigResponse
 */
async function describeScreenVersionConfig(): DescribeScreenVersionConfigResponse {
  var runtime = new $RuntimeOptions{};
  return describeScreenVersionConfigWithOptions(runtime);
}

model GetFileDetectResultInnerRequest {
  dnaHashKeyList?: [ string ](name='DnaHashKeyList'),
  hashKeyList?: [ string ](name='HashKeyList', description='This parameter is required.'),
  level?: int32(name='Level'),
  sourceIp?: string(name='SourceIp'),
  type?: int32(name='Type'),
}

model GetFileDetectResultInnerResponseBody = {
  requestId?: string(name='RequestId'),
  resultList?: [ 
    {
      code?: string(name='Code'),
      expireTime?: string(name='ExpireTime'),
      ext?: string(name='Ext'),
      hashKey?: string(name='HashKey'),
      message?: string(name='Message'),
      result?: int32(name='Result'),
      score?: int32(name='Score'),
      virusType?: string(name='VirusType'),
    }
  ](name='ResultList'),
}

model GetFileDetectResultInnerResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: GetFileDetectResultInnerResponseBody(name='body'),
}

/**
 * @summary 获取文件检测结果。
 *
 * @param request GetFileDetectResultInnerRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return GetFileDetectResultInnerResponse
 */
async function getFileDetectResultInnerWithOptions(request: GetFileDetectResultInnerRequest, runtime: $RuntimeOptions): GetFileDetectResultInnerResponse {
  request.validate();
  var query = {};
  if (!$isNull(request.dnaHashKeyList)) {
    query['DnaHashKeyList'] = request.dnaHashKeyList;
  }
  if (!$isNull(request.hashKeyList)) {
    query['HashKeyList'] = request.hashKeyList;
  }
  if (!$isNull(request.level)) {
    query['Level'] = request.level;
  }
  if (!$isNull(request.sourceIp)) {
    query['SourceIp'] = request.sourceIp;
  }
  if (!$isNull(request.type)) {
    query['Type'] = request.type;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'GetFileDetectResultInner',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 获取文件检测结果。
 *
 * @param request GetFileDetectResultInnerRequest
 * @return GetFileDetectResultInnerResponse
 */
async function getFileDetectResultInner(request: GetFileDetectResultInnerRequest): GetFileDetectResultInnerResponse {
  var runtime = new $RuntimeOptions{};
  return getFileDetectResultInnerWithOptions(request, runtime);
}

model ListGlobalUserConfigRequest {
  moduleList?: [ string ](name='ModuleList'),
}

model ListGlobalUserConfigShrinkRequest {
  moduleListShrink?: string(name='ModuleList'),
}

model ListGlobalUserConfigResponseBody = {
  data?: [ 
    {
      globalConfigSwitch?: boolean(name='GlobalConfigSwitch', example='true'),
      moduleName?: string(name='ModuleName', example='ransomware_breaking'),
    }
  ](name='Data'),
  requestId?: string(name='RequestId', example='D81DD78E-E006-5C65-A171-C8CB09XXXXX'),
}

model ListGlobalUserConfigResponse = {
  headers?: map[string]string(name='headers'),
  statusCode?: int32(name='statusCode'),
  body?: ListGlobalUserConfigResponseBody(name='body'),
}

/**
 * @summary 首页配置情况汇总接口
 *
 * @param tmpReq ListGlobalUserConfigRequest
 * @param runtime runtime options for this request RuntimeOptions
 * @return ListGlobalUserConfigResponse
 */
async function listGlobalUserConfigWithOptions(tmpReq: ListGlobalUserConfigRequest, runtime: $RuntimeOptions): ListGlobalUserConfigResponse {
  tmpReq.validate();
  var request = new ListGlobalUserConfigShrinkRequest{};
  OpenApiUtil.convert(tmpReq, request);
  if (!$isNull(tmpReq.moduleList)) {
    request.moduleListShrink = OpenApiUtil.arrayToStringWithSpecifiedStyle(tmpReq.moduleList, 'ModuleList', 'json');
  }
  var query = {};
  if (!$isNull(request.moduleListShrink)) {
    query['ModuleList'] = request.moduleListShrink;
  }
  var req = new OpenApiUtil.OpenApiRequest{ 
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApiUtil.Params{
    action = 'ListGlobalUserConfig',
    version = '2021-01-14',
    protocol = 'HTTPS',
    pathname = '/',
    method = 'POST',
    authType = 'AK',
    style = 'RPC',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  if ($isNull(@signatureVersion) || @signatureVersion != 'v4') {
    return callApi(params, req, runtime);
  } else {
    return execute(params, req, runtime);
  }
}

/**
 * @summary 首页配置情况汇总接口
 *
 * @param request ListGlobalUserConfigRequest
 * @return ListGlobalUserConfigResponse
 */
async function listGlobalUserConfig(request: ListGlobalUserConfigRequest): ListGlobalUserConfigResponse {
  var runtime = new $RuntimeOptions{};
  return listGlobalUserConfigWithOptions(request, runtime);
}

